#ifndef PAGE_H
#define PAGE_H

#include "Key.h"

class Page
{
	public:
		Page(){}
		virtual ~Page(){}
		virtual void setFilename(std::string name) = 0;
		virtual int getOffset() = 0;
		virtual void setOffset(int offset) = 0;
		virtual unsigned int getLevel() = 0;
		virtual unsigned int getCount() = 0;

		virtual bool findLastKey(Key* key, unsigned int &pos) = 0;
		virtual bool findFirstKey(Key* key, unsigned int &pos) = 0;

		virtual int add(Key *key) = 0;
		virtual int update(Key *key) = 0;
		virtual int remove(Key *key) = 0;
		virtual int get(Key *key) = 0;
		virtual int get(unsigned int pos, Key *key) = 0;

		virtual void load() = 0;
		virtual void save() = 0;

		virtual void print() = 0;
};

#endif




 
